package com.kakaxi.mybilibili.module.home.live.view;

import android.util.SparseArray;

import com.kakaxi.mybilibili.base.BaseFragment;

/**
 * 直播房间界面的碎片工厂类
 * Created by kakaxi on 16/11/4.
 */

public class LiveRoomFragmentFactory {

    /** 碎片散列数组 **/
    private static SparseArray<BaseFragment> mFragments = new SparseArray<>();

    /** 工厂中碎片的数量 **/
    public static final int FRAGMENT_COUNT = 3;

    /**
     * 通过工厂模式返回对应位置的碎片
     *
     * @param position 位置
     * @return 对应位置的碎片
     */
    public static BaseFragment createFragment(int position) {
        BaseFragment fragment = mFragments.get(position);
        if (fragment == null) {
            // 创建对应位置的碎片
            switch (position) {
                case 0: { // 互动
                    fragment = LiveRoomCommentFragment.newInstance();
                    break;
                }
                case 1: { // 七日榜
                    fragment = LiveRoomGiftTopFragment.newInstance();
                    break;
                }
                case 2: { // 粉丝榜
                    fragment = LiveRoomMedalRankFragment.newInstance();
                    break;
                }

            }
            if (fragment != null) {
                // 把新建的碎片放入数组中
                mFragments.put(position, fragment);
            }
        }
        return fragment;
    }

}
